前面帶過的Shodan最常被拿來利用查看某個IP或Domain是否有什麼服務暴露在網路上,不但可以拿來檢視自己也可以檢視供應商,需關注的數量一多就需要自動化處理
官方API
https://developer.shodan.io/api
官方Python套件
https://github.com/achillean/shodan-python
import shodan
# 初始化Shodan API客戶端
api = shodan.Shodan(api_key)
# 使用Shodan API搜索指定域名相關的信息
results = api.search(f"hostname:{domain}")
關注是否有相關服務
print(f"域名 {domain} 相關的Shodan資訊:\n")
for result in results['matches']:
print(f"IP位址: {result['ip_str']}")
print(f"埠號: {result['port']}")
# 檢查是否存在'product'字段
if 'product' in result:
print(f"服務: {result['product']}")
else:
print("服務資訊不可用")
# 檢查是否存在'version'字段
if 'version' in result:
print(f"版本: {result['version']}\n")
else:
print("版本信息未提供\n")
蒐集到的資訊可以參考相關商用服務的方式計算分數方便評比
https://support.securityscorecard.com/hc/en-us/articles/8366223642651-How-SecurityScorecard-calculates-your-scores